Static Verification “Under The Hood”: Implementation Details and Improvements of BLAST
نویسندگان
چکیده
BLAST is an open-source static verification tool used in checking safety properties of C programs. Given a C program with several assertions, which should not fail at runtime, BLAST statically analyzes the program, and either returns a program execution path that leads to violation of one of the assertions, or proves that no assertion is violated. If BLAST fails to prove inreachability of assertions, it may terminate with error, or loop forever. The framework approach employed in BLAST is counterexample guided abstraction refinement (CEGAR) empowered with lazy abstraction. The first record of BLAST dates from 2002. The tool had been constantly improving until July 2008, mostly by its original creators. Beginning in 2009, we continued working on it as a part of Linux Driver Verification project. In this article we overview the current status of BLAST: outline the algorithms the CEGAR framework approach is implemented on top of, describe the heuristics used and the technical details of the implementation, and list the external components BLAST relies on. Along with this description, we outline and evaluate the improvements we made since its last release by the original BLAST team, and share our view on the further improvement of the tool.
منابع مشابه
بررسی اثر مهار جانبی اِستادهای دیوار بر روی تابع مقاومت ایستایی اِستادها تحت بار انفجار
“Cold-formed steel (CFS) stud walls” are innovative alternative for construction of walls in buildings. The main frames of CFS walls consist of a group of vertical members called “studs” which are hold by fasteners within two horizontal members called “tracks” at the upper and lower ends. One of the conventional ways for designing and analyzing of CFS stud walls under blast loading is to employ...
متن کاملNonlinear statics analysis of on offshore jaket platform in the case of explosion
Explosion and fire on an offshore rig can lead to its minor or complete damage and sinking which means the loss of life or environmental pollution. Hence the use of techniques such as blast wall is crucial to reduce the detrimental effects. These blast walls are designed for explosion wave of length between 0.1 to 1 of load mainly to protect the personnel and critical sections. In this research...
متن کاملSome implementation aspects of the general linear methods withinherent Runge-Kutta stability
In this paper we try to put different practical aspects of the general linear methods discussed in the papers [1,6,7] under one algorithm to show more details of its implementation. With a proposed initial step size strategy this algorithm shows a better performance in some problems. To illustrate the efficiency of the method we consider some standard test problems and report more useful detail...
متن کاملComparison between CPBPV, ESC/Java, CBMC, Blast, EUREKA and Why for Bounded Program Verification
– ESC/Java (http://kind.ucd.ie/products/opensource/ESCJava2/): Extended Static Checker for Java is a programming tool that attempts to find common run-time errors in JML-annotated Java programs by static analysis of the program code and its formal annotations. – CBMC (http://www.cprover.org/cbmc/): is a Bounded Model Checker for ANSI-C and C++ programs. It allows verifying array bounds (buffer ...
متن کاملInfluence of Sudden Column Loss on Dynamic Response of Steel Moment Frames under Blast Loading
Modeling buildings response to blast and subsequent progressive collapse interested more and more researchers during the past two decades. Due to the threat from extreme loading, efforts have been made to develop methods of structural analysis and design. In this paper, progressive collapse capacity of steel moment frames was first investigated using alternate load path method, then a nonlinear...
متن کامل